package emumTest;

import java.util.EnumMap;
import java.util.Map;

/**
 * @ClassName enumTest
 * @Description 枚举测试类
 * 下面的例子演示了命令设计模式的用法。一般来说,命令模式首先需要一个只有单一方法
 * 口,然后从该接口实现具有各自不同的行为的多个子类。接下来,程序员就可以构造命令
 * ,并在需要的时候使用它们了:
 * @Author LIBOFEI
 * @Date 2020/6/6 17:12
 * @Version 1.0
 **/
interface Command{
    void action();
}
enum NameType{
    budayi,
    xuweijie
}
public class EnumTest {

    public static void main(String[] args) {
        EnumMap<NameType,Command> em = new EnumMap<>(NameType.class);

        em.put(NameType.budayi, new Command() {
            @Override
            public void action() {
                System.out.println("不达意！！！！");
            }
        });

        em.put(NameType.xuweijie, new Command() {
            @Override
            public void action() {
                System.out.println("徐伟杰！！！！");
            }
        });

        em.get(NameType.xuweijie).action();


        for(Map.Entry<NameType,Command> entry : em.entrySet()){
            System.out.println(entry.getKey());
            entry.getValue().action();
        }
    }
}
